﻿//加载数据
$(function(){
	// 初始化table
	$('#role_table').bootstrapTable({
        url: path + '/sys/role/listData', //请求后台的URL（*）
        method: 'post',                     //请求方式（*）
        toolbar: '#toolbar',                //工具按钮用哪个容器
        striped: true,                      //是否显示行间隔色
        cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
        pagination: true,                   //是否显示分页（*）
        sortable: false,                    //是否启用排序
        sortOrder: "asc",                   //排序方式
        queryParams: function (params) {
            return {
            	pageSize: this.pageSize,
            	pageId: this.pageNumber,
            	roleName:encodeURI($("#roleName").val())
            };
        },           						//传递参数（*）
        sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
        pageNumber:1,                       //初始化加载第一页，默认第一页
        pageSize: 50,                       //每页的记录行数（*）
        pageList: [10, 25, 50, 100, 'All'], //可供选择的每页的行数（*）
        smartDisplay: false,                //智能显示分页按钮
        paginationPreText: "上一页",
        paginationNextText: "下一页",
        showRefresh: true, 					//是否显示刷新按钮
        showColumns: true,                  //显示选择列
        clickToSelect: true, 				//是否启用点击选中行
        minimumCountColumns: 2,             //最少允许的列数
        height: 460,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
        uniqueId: "id",                     //每一行的唯一标识，一般为主键列
        cardView: false,                    //是否显示详细视图
        detailView: false,                  //是否显示父子表
        responseHandler: function (res) {   //在ajax请求成功后，发放数据之前可以对返回的数据进行处理
            return res;
        },
        columns: [/*{
            field: 'state',
            checkbox: true,
            align: 'center',
            valign: 'middle'
         },*/ {
            field: 'id',
            visible:false,
            title: '主键'
        }, {field: 'number', 
        	title: '序号',
        	align: 'center',
            formatter: function (value, row, index) {
                return index+1;
        }},{
            field: 'roleName',
            title: '角色名称',
            align: 'center'
        }, {
            field: 'roleCode',
            title: '角色编码',
            align: 'center'
        }, {
            field: 'createDate',
            title: '创建时间',
            align: 'center'
        }, {
        	field: 'operation',
            title: '操作',
            align: 'center',
            formatter: function(value,row,index){
            	/*var updateRole = '<a class="color_blue" href="javascript:" onclick="updateRole(\''+ row.id + '\');">修改 </a>';
            	var allotMenu = '<a class="color_blue" href="javascript:" onclick="allotMenu(\''+ row.id + '\',\''+row.roleName+ '\');">分配菜单 </a>';
            	var allotMember = '<a class="color_blue" href="javascript:" onclick="allotMember(\''+ row.id + '\',\'' + row.roleName + '\');">分配人员</a>';
            	var deleteRole = '<a class="color_blue" href="javascript:" onclick="deleteRole(\''+ row.id + '\');">删除 </a>';
            	return updateRole + allotMenu + allotMember + deleteRole;*/
            	
            	var handle = "";
            	if ($("#sys_role_handle").val() == "1") {
            		handle += '<a class="color_blue" href="javascript:" onclick="updateRole(\''+ row.id + '\');"><i title="编辑" class="fa fa-edit"></i></a>';
            	}
            	if ($("#sys_role_allotMenu").val() == "1") {
            		handle += '<a class="color_blue ml10" href="javascript:" onclick="allotMenu(\''+ row.id + '\',\''+row.roleName+ '\');"><i title="分配菜单" class="fa fa-cogs"></i></a>';
            	}
            	if ($("#sys_role_allotMember").val() == "1") {
            		handle += '<a class="color_blue ml10" href="javascript:" onclick="allotMember(\''+ row.id + '\',\'' + row.roleName + '\');"><i title="分配人员" class="fa fa-group"></i></a>';
            	}
            	if ($("#sys_role_handle").val() == "1") {
            		handle += '<a class="color_blue ml10" href="javascript:" onclick="deleteRole(\''+ row.id + '\');"><i title="删除" class="fa fa-trash-o"></i></a>';
            	}
            	return handle;
            }
        }]
    });
	
	// 筛选数据
	$('#searchData').click(function () {  
		searchData();
	});  
});

function searchData() {
	$('#role_table').bootstrapTable('refresh');  
}


// 添加角色页面
function add() {
	
	layer.open({
      type: 2,
      title: '添加角色',
      shade: 0.5,
      maxmin: true, //开启最大化最小化按钮
      area: ['600px', '300px'],
      skin: 'layui-layer-rim', //加上边框
      content: 'add',
      end: function() {
    	  searchData();
      }
    });
}

// 更新角色
function updateRole(id) {
	layer.open({
	      type: 2,
	      title: '更新角色',
	      shade: 0.5,
	      maxmin: true, //开启最大化最小化按钮
	      area: ['600px', '300px'],
	      skin: 'layui-layer-rim', //加上边框
	      content: 'update?id=' + id,
	      end: function() {
	    	  searchData();
	      }
    });
}


//分配菜单
function allotMenu(id, name) {
	layer.open({
	      type: 2,
	      title: ' 角色【' + name + '】分配菜单',
	      shade: 0.5,
	      maxmin: true, //开启最大化最小化按钮
	      area: ['360px', '500px'],
	      skin: 'layui-layer-rim', //加上边框
	      content: 'allotMenu?id=' + id,
	      end: function() {
//	    	  toPage();
	      }
 });
}

//分配人员
function allotMember(id, name) {
	layer.open({
	      type: 2,
	      title: ' 角色【' + name + '】分配人员',
	      shade: 0.5,
	      maxmin: true, //开启最大化最小化按钮
	      area: ['800px', '500px'],
	      skin: 'layui-layer-rim', //加上边框
	      content: 'allotMember?id=' + id,
	      end: function() {
//	    	  toPage();
	      }
 });
}

// 删除角色
function deleteRole(id) {
	// 确认消息
	layer.confirm("您确认要删除本角色吗？", function() {
		$.ajax({
			type:'post',
			async : false,
	        cache : false,
			url:'deleteRole',
			data:{'id':id},
			dataType:'json',
			success:function(data) {
				if (data.success) {// 成功
					layer.msg("角色删除成功", {icon:6}, function() {
						searchData();
					});
				} else {
					layer.msg(data.msg, {icon:5});
				}
			}
		});
	});
}

